feat: specify device to bind ICMP socket to #120
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This pull request adds new parameter
deviceto methodping. The parameter allows to explicitly specify the name of the device to bind outgoing ICMP socket to.Setting a socket source address (parameter
source) does not always select the correct network interface as the interface is selected based on (destination) routing rules which may not favour the intended interface for a given destination IP. It is technically possible to define a source based routing policy to select the interface based on the socket source address but this requires much more effort than simply specifying the device name and setting socket optionSOL_SOCKET, SO_BINDTODEVICE.Additionally, the pull request adds a missing pydoc parameter description and updates the pydoc parameter name to match the actual code parameter name.